iT邦幫忙

2024 iThome 鐵人賽

DAY 20
0

在應用程式或是網頁中,保護會員敏感資料是基本且重要的,通常會使用加密技術來處理。這篇將以會員的密碼為例,說明如何應用加密保護資料。

Spring Boot與數據加密的關聯

在Spring Boot當中,有提供安全框架,例如Spring Security,大大簡化數據加密的實現,不過要注意,加密並非Spring Boot獨有,其他如Spring框架,也能透過手動配置使用相同加密技術,Spring Boot是提供更簡單的方式實現功能,開發更便捷。

對於會員密碼,Spring Boot預設可使用哈希加密法,像是BCrypt,能夠確保加密的密碼在資料庫當中是不可逆,即使資料庫外洩,也能大大降低密碼被還原成明碼的可能性。而Spring Boot的加密實現,不限於哈希加密,對於對稱加密(如AES)和非對稱加密(如 RSA)也能實現。

使用BCrypt加密會員密碼

import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;

public class PasswordEncryption {
    public static void main(String[] args) {
        // 建立BCrypt密碼編輯
        BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();

        // 原始密碼
        String pw = "goodveryGood";

        // 加密密碼
        String encodedPW = passwordEncoder.encode(pw);
        System.out.println("加密後的密碼: " + encodedPW);

        // 驗證密碼
        boolean isPWMatch = passwordEncoder.matches(pw, encodedPW);
        System.out.println("密碼驗證結果: " + isPWMatch);
    }
}

透過Spring Boot的加密功能,能夠更輕鬆保護會員隱私,避免未經授權的資料外洩,提供安全性。


上一篇
滾來滾去-事務回滾的重要性
下一篇
一樣都能認證,我該選擇誰?-Token 與 Session
系列文
從卡關到通關的Spring Boot 腦內風暴30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言